آموزش ساخت بازی سه بعدی به زبان Basic با دارک بیسیک Dark Basic تهیه و آموزش نرم افزار دارک بیسیک |
|||
جمعه 23 فروردين 1392برچسب:, :: 1:12 :: نويسنده : ابوالفضل
در این فصل یاد می گیریم تا بر روی فایل ها و پوشه های موجود در Hard کامپیوتر کار کنیم . مثلا فایل یا پوشه ای را کپی ، ایجاد ، حذف ، تغییر نام و ... را انجام دهیم .
دستور DIR این دستور اسامی تمامی فایل ها و پوشه هایی را که در مسیر جاری وجود دارند ، بر روی صفحه ی نمایشگر چاپ می کند . یعنی اگر مسیر جاری C:Example باشد ، اسامی فایل ها و پوشه های موجود در این مسیر چاپ خواهد شد . مانند مثال زیر :
Dir Do Loop
دستورات PERFORM CHECKLIST FOR FILES این سلسله از دستورات ، مانند دستور قبلی ( یعنی دستور DIR ) اسامی تمامی فایل ها و پوشه هایی را که در مسیر جاری وجود دارند را برمی گرداند . با این تفاوت که علاوه بر نمایش آنها ، توابع این دستورات کنترل بیشتری بر روی داده ها به ما خواهد داد . مانند مثال زیر :
Perform Checklist For Files ()For T = 1 to CheckList Quantity (Print "Files = " + CheckList String$(T Next T Wait Key
تابع GET DIR با استفاده از این تابع می توانیم مسیر جاری را پیدا کنیم . مانند مثال زیر :
()$Print "Current Dir = " + Get Dir Wait Key
دستور SET DIR با این دستور می توانیم مسیر جاری را تغییر دهیم . یعنی اگر مسیر بر روی /:C تنظیم شود ، با استفاده از دستور Dir می توانیم اسامی فایل ها و پوشه های موجود در این مسیر را نمایش دهیم . مانند مثال زیر :
"/:Set Dir "C Dir Wait Key
با اجرای این مثال اسامی تمامی فایل ها و پوشه های موجود در مسیر /:C نمایش داده خواهد شد .
تابع WINDIR این تابع مسیری که ویندوز در آن نصب شده باشد را برمی گرداند . مانند مثال زیر :
()$Print "Current Windows Directory = " + WinDir Wait Key
تابع APPNAME این تابع نام و مسیر برنامه ی ما را در حالت اجرا برمی گرداند . یعنی اگر برنامه ای که می نویسیم در هر مسیری وجود داشته باشد . موقع اجرای برنامه ، تابع APPNAME مسیر و نام برنامه ی ما را برمی گرداند . مانند مثال زیر :
()$Print "AppName = " + AppName Wait Key
دستور DRIVELIST این دستور اسامی درایو های موجود در HARD را چاپ می کند . مانند مثال زیر :
DriveList do loop
دستورات PERFORM CHECKLIST FOR DRIVES این تابع همانند دستور قبلی نام درایو های موجود را برمی گرداند . مانند مثال زیر :
Perform Checklist For Drives ()For T = 1 to CheckList Quantity (Print "Drives = " + Checklist String$(T Next T Wait Key
تفاوت این دستورات با دستور قبلی ( Drive List ) در توابع آن می باشد . یعنی با این دستورات و توابع می توانیم کنترل بیشتری بروی نام و تعداد درایو ها داشته باشیم .
دستور MAKE FILE با این دستور می توانیم فایل خالی با فرمت دلخواه در هر مسیری ایجاد کنیم . مانند دستورالعمل زیر :
MAKE FILE fileName
طبق این دستورالعمل به جای fileName نام درایو و مسیر موجود و نام فایل و فرمت آن را قرار می دهیم . مانند مثال زیر :
"Make File "C:MyDirectoryMyFile.txt
با اجرای این مثال فایلی با نام MyFile با فرمت txt در مسیر C:MyDirectory ایجاد می شود . نکته 1 : اگر فایلی قبلا با همین نام و فرمت در همین مسیر وجود داشته باشد . آن فایل پاک خواهد شد و یک فایل خالی جایگزین آن می شود .
نکته 2 : اگر مسیر انتخابی برای ایجاد فایل وجود نداشته باشد ، هیچ فایلی ایجاد نخواهد شد . در این مثال اگر دارکتوری MyDirectory در درایو C وجود نداشته باشد ، هیچ فایلی ایجاد نخواهد شد .
دستور MAKE DIRECTORY با این دستور می توانیم یک دایرکتوری خالی ( پوشه ای برای نگه داشتن پوشه ها و فایل ها ) ایجاد کنیم . مانند دستورالعمل زیر :
MAKE DIRECTORY DirectoryName
طبق این دستورالعمل به جای DirectoryName مسیر و نام دایرکتوری ( پوشه ) جدید را قرار می دهیم . مانند مثال زیر :
"Make Directory "C:/oldDirectory/NewDirectory
با اجرای این مثال دارکتوری NewDirectory در مسیر C:/oldDirectory ایجاد می شود . نکته : اگر مسیری برای ایجاد داریکتوری وجود نداشته باشد ، داریکتوری جدید ایجاد نخواهد شد .
دستور DELETE FILE با این دستور می توانیم فایلی را که از قبل ایجاد شده را ، حذف کنیم ( از بین ببریم ) . مانند دستورالعمل زیر :
DELETE FILE Filename
طبق این دستورالعمل به جای Filename مسیر و نام فایل مورد نظر را جهت پاک شدن قرار می دهیم . مانند مثال زیر :
"Delete File "C:/MyDirectory/File.dat با اجرای این مثال فایل File.dat موجود در مسیر C:/MyDirectory حذف می شود .
دستور COPY FILE این دستور فایلی که قبلا ایجاد شده باشد را ، در مسیری دلخواه کپی می کند . مانند دستوالعمل زیر :
COPY FILE SourceFilename,DestinationFilename
طبق این دستورالعمل به جای SourceFilename مسیر و نام فایلی که می خواهیم از روی آن کپی ایجاد کنیم را ، قرار می دهیم و به جای DestinationFilename مسیر و نام فایل جدید را قرار می دهیم . می توانیم در قسمت DestinationFilename نام جدیدی برای فایل جدید در نظر بگیریم ، منتهی مسیر مورد نظر برای فایل جدید باید وجود داشته باشد .
"Copy File "C:/data.dat","D:/MyDirextory/backupdata.dat
با اجرای این مثال فایلی جدید با نام backupdata.dat در مسیر D:/MyDirextory از روی فایل data.dat موجود در مسیر :C ایجاد خواهد شد .
دستور MOVE FILE با این دستور می توانیم فایل موجود را به مسیر جدید انتقال دهیم . همچنین می توانیم نام جدیدی را هم در نظر بگیریم . مانند دستورالعمل زیر :
MOVE FILE SourceFilename,DestinationFilename
طبق این دستورالعمل به جای SourceFilename مسیر و نام فایلی را که می خواهیم انتقال دهیم ، قرار می دهیم و به جای DestinationFilename مسیر و نام جدیدی را برای انتقال در نظر می گیریم .
نکته : مسیر مورد نظر برای انتقال فایل باید وجود داشته باشد .
"Move File "C:oldfile.txt","d:oldfile.txt
یا
"Move File "C:oldfile.txt","d: ewfile.txt
دستور RENAME FILE با استفاده این دستور می توانیم فایل مورد نظرمان را تغییر نام دهیم . مانند دستورالعمل زیر :
RENAME FILE SourceFilename,NewFilename
طبق این دستورالعمل به جای SourceFilename نام و مسیر فایل مورد نظرمان را قرار می دهیم و به جای NewFilename نام جدیدی را وارد می کنیم . مانند مثال زیر :
"Rename File "C:Data.txt","C: ewData.txt
نکته : طبق دستورالعمل اگر به جای NewFilename مسیر جدیدی را قرار دهیم ، فایل به مسیر جدید و با نام جدید نقل مکان خواهد کرد . مانند مثال زیر :
"Rename File "C:Data.txt","D: ewData.txt
در این مثال علاوه بر این که نام فایل از Data به newData تغییر پیدار کرد . خود فایل هم از مسیر :C به مسیر :D انتقال پیدا کرد .
دستور EXECUTE FILE از این دستور برای اجرای فایل ها استفاده می کنیم . مانند دستورالعمل زیر :
EXECUTE FILE Filename,Commandline,Directory
طبق این دستورالعمل به جای Filename نام و مسیر فایل اجرایی مورد نظرمان را قرار می دهیم . مانند مثال زیر :
"","","EXECUTE FILE "C:WINDOWSNotePad.exe Wait Key
با اجرای این مثال برنامه ی NotePad اجرا خواهد شد . این برنامه فایلی است با فرمت Exe و به تنهایی اجرا می شود . ولی فایل هایی هم هستند که اجرایی نیستند ؛ بلکه اطلاعاتی را برای برنامه های دیگر نگه می دارند . مانند فایل هایی با فرمت Doc که توسط برنامه ی Microsot Word ایجاد شده اند . پس برای استفاده و باز کردن این فایل باید به جای Directory نام و مسیر فایل برنامه ی Microsoft Word را هم قرار دهیم . مانند مثال زیر :
EXECUTE FILE "C:MyFile.Doc","","C:Program FilesMicrosoft "OfficeOffice10WinWord.Exe Wait Key
اگر برنامه ی Microsoft Word از قبل نصب شده باشد . می توانیم تنها نام و مسیر فایل را قرار دهیم . مانند مثال زیر :
"","","EXECUTE FILE "C:MyFile.Doc Wait Key
تابع FILE EXIST با استفاده از این تابع می توانیم بفهمیم که آیا فایل مورد نظرمان وجود دارد یا خیر . مانند دستورالعمل زیر :
(ReturnInteger = FILE EXIST(Filename
طبق این روش به جای Filename نام و مسیر فایل مورد نظرمان را قرار می دهیم . اگر فایل مورد نظر در مسیر وجود داشته باشد ، ReturnInteger برابر یک و اگر وجود نداشته باشد ، ReturnInteger برابر صفر خواهد بود . مانند مثال زیر :
"myFile$ = "C:MyDirectoryFile.exe "If File Exist(myFile$)=1 Then Print "Yes" Else Print "No Wait Key
با اجرای این مثال اگر فایل File با فرمت exe در مسیر C:MyDirectory ، وجود داشته باشد ، عبارت Yes و اگر وجود نداشته باشد ، عبارت No چاپ خواهد شد .
تابع PATH EXIST با این تابع می توانیم بررسی کنیم که آیا مسیر مورد نظرمان وجود دارد یا خیر . مانند دستورالعمل زیر :
(ReturnInteger = PATH EXIST(PATH
طبق این دستورالعمل به جای PATH مسیر مورد نظرمان را قرار می دهیم . اگر مسیر مورد نظر وجود داشته باشد ، ReturnInteger برابر یک و اگر وجود نداشته باشد ، ReturnInteger برابر صفر خواهد بود . مانند مثال زیر :
"myPath$ = "C:MyDirectoryDirect "If Path Exist(myPath$)=1 Then Print "Yes" Else Print "No Wait Key
با اجرای این مثال اگر مسیر C:MyDirectoryDirect وجود داشته باشد ، عبارت Yes و اگر وجود نداشته باشد ، عبارت No چاپ خواهد شد .
دستور OPEN TO WRITE و دستور ClOSE FILE با استفاده از این دستور می توانیم فایلی را جهت نوشتن اطلاعات در آن باز کنیم . مانند دستورالعمل زیر :
OPEN TO WRITE FileNumber,Filename
طبق این دستورالعمل به جای Filename نام و مسیر فایل مورد نظرمان را قرار می دهیم . و به جای FileNumber یک عدد بین 1 تا 32 قرار می دهیم و در برنامه توسط همین شاخص عددی می توانیم به فایل باز شده ، فرمان خواندن و یا نوشتن اطلاعات را بدهیم . در واقع برای هر فایل باز شده در برنامه ، باید یک عدد به آن فایل اختصاص پیدا کند . مانند مثال زیر :
"Open To Write 1,"C:Data.dat Close File 1
با اجرای این مثال فایل Data.dat را با هدف نوشتن اطلاعات در آن باز کردیم و عدد یک را به آن اختصال دادیم . و در خط بعدی با توجه به عددی که به فایل باز شده اختصاص داده بودیم ، فایل را بستیم . فایل باز شده بعد از اتمام کار باید بسته شود تا از آسیب دیدگی آن جلوگیری بعمل آید .
تابع FILE OPEN این تابع باز و یا بسته بود فایل را بررسی می کند . یعنی طبق عددی را که در برنامه به هر فایل اختصاص داده بودیم ، آن عدد در این تابع وارد شود ، اگر فایل مورد نظر باز بوده باشد ، مقدار این تابع عدد یک و در غیر اینصورت اگر فایل بسته باشد ، عدد صفر توسط این تابع برگردانده خواهد شد . یعنی اگر از دستور Close File استفاده شده باشد ، عدد صفر توسط این تابع برگردانده خواهد شد . مانند مثال زیر :
"Open To Write 1,"C:Data.dat "If File Open(1)=1 Then Print "File Is Open" Else Print "File Is Close Close File 1 "If File Open(1)=1 Then Print "File Is Open" Else Print "File Is Close Wait Key
در این مثال در خط اول ، فایل Data.dat موجود در مسیر :C جهت نوشتن اطلاعت باز شد و در خط دوم تابع ()File Open به دلیل باز بودن فایل عدد یک را برگرداند و عبارت File Is Open چاپ شد و در خط سوم فایل بسته شد . به همین دلیل تابع ()File Open به دلیل بسته بودن فایل عدد صفر را برگرداند و عبارت File Is Close چاپ شد .
توجه ! اگر فایل Data.dat وجود نداشت ، با دستور Open To Write بطور خودکار ایجاد و باز می شد .
دستور WRITE WORD با این دستور می توانیم عددی را در محدوده ی متغیر از نوع Word ، داخل فایل بنویسیم . مانند دستورالعمل زیر :
WRITE WORD FileNumber,Variable
طبق این دستورالعمل به جای FileNumber عدد اختصاص داده شده به فایل و به جای Variable عددی با محدوده متغیر Word یعنی عددی بین 0 تا 65535 جهت ذخیره شدن در Hard قرار می دهیم . مانند مثال زیر :
"Open To Write 1,"Data.dat If File Open(1)=1 write word 1,42 EndIf Close File 1
در این مثال ابتدا فایل Data.dat را جهت نوشتن اطلاعات باز می کنیم . سپس قبل از نوشتن اطلاعات داخل فایل بررسی می کنیم که آیا فایل برای نوشته شدن اطلاعات باز است یا بسته . در صورت باز بودن ، می توانیم اطلاعات را در آن بنویسیم و بعد فایل را ببندیم .
نکته : در این مثال فرض بر این است که فایل Data.dat در پوشه ی پروژه است ( یعنی فایل Data.dat کنار فایل اجرایی است ) . به خاطر همین مسیر فایل را تایپ نکردیم .
دستور OPEN TO READ با استفاده از این دستور می توانیم فایلی را جهت خواندن اطلاعات از آن باز کنیم . مانند دستورالعمل زیر :
OPEN TO READ FileNumber,Filename
طبق این دستورالعمل به جای Filename نام و مسیر فایل مورد نظرمان را قرار می دهیم . و به جای FileNumber یک عدد بین 1 تا 32 قرار می دهیم . مانند مثال زیر :
"Open To Read 1,"C:Data.dat Close File 1
با اجرای این مثال فایل Data.dat را با هدف خواندن اطلاعات از آن باز کردیم و عدد یک را به آن اختصال دادیم . و در خط بعدی با توجه به عددی که به فایل باز شده اختصاص داده بودیم ، فایل را بستیم . دقت کنید تا فایل باز شده بعد از اتمام کار حتما بسته شود تا از آسیب دیدن جلوگیری شود .
دستور READ WORD با این دستور می توانیم عددی را در محدوده ی متغیری از نوع Word ، که از قبل داخل فایل نوشته بودیم ، بخوانیم . مانند دستورالعمل زیر :
READ WORD FileNumber,Variable
در این مثال به جای FileNumber عدد اختصاص داده شده به فایل و به جای Variable متغیری با محدوده متغیر Word قرار می دهید . مانند مثال زیر :
"Open To Read 1,"Data.dat If File Open(1)=1 Read word 1,A Print A EndIf Close File 1
در این مثال ابتدا فایل را جهت خواندن اطلاعات باز می کنیم . سپس قبل از خواندن اطلاعات داخل فایل بررسی می کنیم که آیا فایل برای خواندن اطلاعات از آن باز است یا نه . در صورت باز بودن ، می توانیم اطلاعات را از آن بخوانیم و بعد فایل را ببندیم . در این مثال ما یک متغیر به نام َA ایجاد کردیم تا از داده استفاده کنیم .
نکته : در مثال های اخیر ما مسیر فایل را مشخص نکردیم . یعنی عبارت , "Data.dat" به این معنی است که فایل در همان مسیری ایجاد شود که برنامه ما هم اکنون در آن مسیر در حال اجراست . یعنی اگر مسیر پروژه ی ما در آدرس زیر C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsprjExample ایجاد شده باشد . با اجرای برنامه ، فایل Data.dat در همین مسیر ایجاد خواهد شد . و اگر فایل را Compile کنیم . یعنی آن را اجرایی کنیم و فایلی با فرمت Exe ایجاد گردد ، می توانیم آن فایل را در هر مسیری و در هر کامپیوتری کپی کنیم و فایل Data.dat هم با این روش کنار فایل اجرایی یعنی در همان پوشه ای که فایل اجرایی در آن وجود دارد ایجاد خواهد شد . از این روش در تمامی دستورات مربوط به کار با فایل ها در تمامی وبلاگ می توان استفاده کرد . مگر اینکه مسیر جاری توسط دستور SET DIR تغییر پیدا کند .
دستور WRITE BYTE با این دستور می توانیم عددی در محدوده ی متغیری از نوع Byte ، داخل فایل بنویسیم . مانند دستورالعمل زیر :
WRITE Byte FileNumber,Variable
دستور READ BYTE با این دستور می توانیم عددی را در محدوده ی متغیری از نوع Byte ، که از قبل داخل فایل نوشته بودیم ، بخوانیم . مانند دستورالعمل زیر :
READ BYTE FileNumber,Variable
دستور WRITE LONG با این دستور می توانیم عددی در محدوده ی متغیری از نوع Integer ، داخل فایل بنویسیم . مانند دستورالعمل زیر :
WRITE LONG FileNumber,Variable
دستور READ LONG با این دستور می توانیم عددی را در محدوده ی متغیری از نوع Integer ، که از قبل داخل فایل نوشته بودیم ، بخوانیم . مانند دستورالعمل زیر :
READ WORD FileNumber,Variable
دستور WRITE FLOAT با این دستور می توانیم عددی اعشاری ( ممیزدار ) را در محدوده ی متغیری از نوع Float ، داخل فایل بنویسیم . مانند دستورالعمل زیر :
WRITE Float FileNumber,Variable
دستور READ FLOAT با این دستور می توانیم عددی را در محدوده ی متغیری از نوع Float ، که از قبل داخل فایل نوشته بودیم ، بخوانیم . مانند دستورالعمل زیر :
READ Float FileNumber,Variable
برای اینکه مقدار عدد ممیز دار درست خوانده شود باید از متغیری ممیز دار نیز برای خواندن استفاده شود ، مانند مثال زیر که از متغیر #a استفاده می کنیم :
"Open To Read 1,"data.dat If File Open(1)=1 #Read Float 1,a (#Print "value = "+str$(a EndIf Close File 1 Wait Key
دستور WRITE STRING با این دستور می توانیم عبارتی کاراکتری را ، داخل فایل بنویسیم . مانند دستورالعمل زیر :
WRITE STRING FileNumber,Variable
طبق این دستورالعمل به جای FileNumber عدد اختصاص داده شده به فایل و به جای Variable عبارتی کاراکتری قرار می دهیم ( بصورت عبارت و یا متغیر کاراکتری ) . مانند مثال زیر :
"Open To Write 1,"Data.dat If File Open(1)=1 ".Write String 1,"This Is A Data EndIf Close File 1
دستور READ STRING با این دستور می توانیم عبارتی را که از قبل داخل فایل نوشته بودیم ، بخوانیم . مانند دستورالعمل زیر :
READ STRING FileNumber,Variable
طبق این دستورالعمل به جای FileNumber عدد اختصاص داده شده به فایل و به جای Variable متغیر کاراکتری قرار می دهیم . مانند مثال زیر :
"Open To Read 1,"Data.dat If File Open(1)=1 $Read String 1,A $Print A EndIf Close File 1
تابع FILE SIZE این تابع اندازه ی فایل مورد نظرمان را بر حسب بایت برمی گرداند . هر 1000 بایت 1 کیلو بایت می باشد . مانند مثال زیر :
("Print File Size("C:data.dat نظرات شما عزیزان:
موضوعات آخرین مطالب آرشيو وبلاگ پیوندهای روزانه پيوندها
![]() نويسندگان |
|||
![]() |